package com.rabbit.eap.common.constant;

/**
 * @projectName eap
 * @packageName com.rabbit.eap.common.constant
 * @className HttpStatus
 * @author： rabbit
 * @version： 1.0
 * @since： 2020/4/12 17:09
 * <p>Description: HttpStatus
 * http请求状态码
 * </p>

 */
public interface HttpStatus {
    /*
     * Server status codes; see RFC 2068.
     */

    /**
     * 请求正常成功
     */
    int HTTP_OK = 200;

    /**
     * 对象创建成功
     */
    int HTTP_CREATED = 201;

    /**
     * 请求已经被接受
     */
    int HTTP_ACCEPTED = 202;

    /**
     * 操作已经执行成功，但是没有返回数据
     */
    int HTTP_NO_CONTENT = 204;

    /**
     * 资源已被移除
     */
    int HTTP_MOVED_PERM = 301;

    /**
     * 重定向
     */
    int HTTP_SEE_OTHER = 303;

    /**
     * 资源没有被修改
     */
    int HTTP_NOT_MODIFIED = 304;

    /**
     * 参数列表错误（缺少，格式不匹配）
     */
    int HTTP_BAD_REQUEST = 400;

    /**
     * 未经授权
     */
    int HTTP_UNAUTHORIZED = 401;

    /**
     * 访问受限，授权过期
     */
    int HTTP_FORBIDDEN = 403;

    /**
     * 资源、服务未找到
     */
    int HTTP_NOT_FOUND = 404;

    /**
     * 不允许的http方法
     */
    int HTTP_BAD_METHOD = 405;

    /**
     * 前提条件失败
     */
    int HTTP_PRECONDITION_FAILED = 412;

    /**
     * 请求实体过大
     */
    int HTTP_REQUEST_ENTITY_TOO_LARGE = 413;

    /**
     * 请求URI太长
     */
    int HTTP_REQUEST_URI_TOO_LONG = 414;

    /**
     * 不支持的数据，媒体类型
     */
    int HTTP_UNSUPPORTED_MEDIA_TYPE = 415;

    /**
     * 指示HTTP服务器内部的错误
     */
    int HTTP_INTERNAL_ERROR = 500;

    /**
     * 接口未实现
     */
    int HTTP_NOT_IMPLEMENTED = 501;

    /**
     * 错误的网关
     */
    int HTTP_BAD_GATEWAY = 502;

    /**
     * 服务不可用
     */
    int HTTP_SERVICE_UNAVAILABLE = 503;

    /**
     * 网关超时
     */
    int HTTP_GATEWAY_TIMEOUT = 504;

    /**
     * 指示服务器不支持或拒绝支持请求中使用的HTTP协议版本信息。
     */
    int SC_HTTP_VERSION_NOT_SUPPORTED = 505;
    /**
     * JWT刷新新token响应状态码
     */
    int JWT_REFRESH_TOKEN_CODE = 460;

    /**
     * JWT刷新新token响应状态码，
     * Redis中不存在，但jwt未过期，不生成新的token，返回461状态码
     */
    int JWT_INVALID_TOKEN_CODE = 461;
}
